package com.yndsoft.jc.ui.net;

import com.yndsoft.jc.model.ReturnMsg;
import com.yndsoft.jc.supplier.model.TestModel;
import com.yndsoft.jc.ui.homepage.AdvertBean;
import com.yndsoft.jc.ui.homepage.InfoBean;
import com.yndsoft.jc.ui.shoppingcart.entity.CartBean;

import java.util.List;

import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;
import rx.Observable;

public interface ApiService {

    String BASE_URL = "http://111.231.140.198:8081/";

    //首页
    @GET("WsAPP/CommHandler.ashx")
    Observable<ReturnMsg> getData(@Query("type") String type, @Query("pid") int pid);

    //分类
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> getCategoryData(@Query("type") String type);

    //产品列表
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> getProductListData(@Query("type") String type, @Query("pid") int pid, @Query("index") int index, @Query("size") int size);

    //获取推荐搜索http://111.231.140.198:8081/WsAPP/CommHandler.ashx?type=search
    @GET("WsAPP/CommHandler.ashx")
    Observable<ReturnMsg> getRecommendSearch(@Query("type") String type);

    //搜索产品列表http://111.231.140.198:8081/WsAPP/BusinessHandler.ashx?type=searchlist&search=奶粉&index=0&size=10
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> searchProductList(@Query("type") String type, @Query("search") String search, @Query("index") int index, @Query("size") int siz);

    /**
     * 会员获取购物车http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=cart&mid=100001
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> getMemberCart(@Query("type") String type, @Query("mid") int mid);


    /**
     * 获取产品详情http://111.231.140.198:8081/WsAPP/BusinessHandler.ashx?type=product&id=100001
     */
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> getProductDetail(@Query("type") String type, @Query("id") int id);


    /**
     * 获取产品属性http://111.231.140.198:8081/WsAPP/BusinessHandler.ashx?type=productattribute&id=100001
     */
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> getProductAttribute(@Query("type") String type, @Query("id") int id);


    /**
     * 会员产品加入购物车http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=tocart&mid=100001&json={}
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> addToCart(@Query("type") String type, @Query("mid") int mid, @Query("json") String json);


    /**
     * 会员删除购物车列表http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=deletecart&mid=100001&json={}
     */
    @FormUrlEncoded
    @POST("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> deleteCartItem(@Query("type") String type, @Query("mid") int mid, @Field("json") String json);


    /**
     * 会员获取订单列表http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=orderlist&mid=100001&tid=0&index=0&size=10
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> getMyOrder(@Query("type") String type, @Query("mid") int mid, @Query("tid") int tid, @Query("index") int index, @Query("size") int size);

    /**
     * 会员获取订单详情http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=order&mid=100001&id=100001
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> getOrderDetail(@Query("type") String type, @Query("mid") int mid, @Query("id") int id);


    /**
     * 会员订单确认http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=toorder&mid=100001&ctype=1&json={}
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> confirmOrder(@Query("type") String type, @Query("mid") int mid, @Query("ctype") int ctype, @Query("json") String json);


    /**
     * 获取会员详情http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=member&mid=100001
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> getPersonInfo(@Query("type") String type, @Query("mid") int mid);


    /**
     * 会员订单新增评论http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=comment&mid=100001&json={}
     */
    @FormUrlEncoded
    @POST("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> getOrderComment(@Query("type") String type, @Query("mid") int mid, @Field("json") String json);


    /**
     * 会员寄件地址http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=addresslist&mid=100001
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> getMailAds(@Query("type") String type, @Query("mid") int mid);


    /**
     * 会员新增寄件地址http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=addaddress&json={}
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> postMailAddress(@Query("type") String type, @Query("mid") int mid, @Query("json") String json);


    /**
     * 会员默认地址http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=address&mid=100001
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> getDefaultAds(@Query("type") String type, @Query("mid") int mid);


    /**
     * 会员更新寄件地址http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=editaddress&mid=100001&json={}
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> postEditAddress(@Query("type") String type, @Query("mid") int mid, @Query("json") String json);


    /**
     * 会员设置默认地址http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=defaultaddress&mid=100001&id=10001
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> setDefaultAds(@Query("type") String type, @Query("mid") int mid, @Query("id") int id);


    /**
     * 会员删除寄件地址http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=deleteaddress&mid=100001&id=10001
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> deleteAddress(@Query("type") String type, @Query("mid") int mid, @Query("id") int id);


    /**
     * 帮助类别http://111.231.140.198:8081/WsAPP/CommHandler.ashx?type=helptype
     */
    @GET("WsAPP/CommHandler.ashx")
    Observable<ReturnMsg> getHelpCategory(@Query("type") String type);


    /**
     * 帮助列表http://111.231.140.198:8081/WsAPP/CommHandler.ashx?type=helplist&pid=1025
     */
    @GET("WsAPP/CommHandler.ashx")
    Observable<ReturnMsg> getMonitorFlow(@Query("type") String type, @Query("pid") int pid);


    /**
     * 意见反馈http://111.231.140.198:8081/WsAPP/CommHandler.ashx?type=feedback&json={}
     */
    @GET("WsAPP/CommHandler.ashx")
    Observable<ReturnMsg> postSuggestions(@Query("type") String type, @Query("json") String json);


    /**
     * 更新会员http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=update&json={}
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> commitPersonInfo(@Query("type") String type, @Query("json") String json);


    /**
     * 新闻详情http://111.231.140.198:8081/WsAPP/CommHandler.ashx?type=news&id=100062
     */
    @GET("WsAPP/CommHandler.ashx")
    Observable<ReturnMsg> getNews(@Query("type") String type, @Query("id") int id);


    /**
     * 配置信息http://111.231.140.198:8081/WsAPP/CommHandler.ashx?type=config&id=10029
     */
    @GET("WsAPP/CommHandler.ashx")
    Observable<ReturnMsg> getConfiguration(@Query("type") String type, @Query("id") int id);


    /**
     * 会员获取积分列表http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=pointlist&mid=100001&index=0&size=10
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> getMemberPoint(@Query("type") String type, @Query("mid") int mid, @Query("index") int index, @Query("size") int size);

    /**
     * 会员登录
     *
     * @param type
     * @param phone
     * @param pwd
     * @return
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> memberLogin(@Query("type") String type, @Query("phone") String phone, @Query("pwd") String pwd);


    /**
     * 发送短信验证码http://111.231.140.198:8081/WsAPP/BusinessHandler.ashx?type=shortmsg&phone=18012379840&otype=1
     */
    @GET("WsAPP/BusinessHandler.ashx")
    Observable<ReturnMsg> getSms(@Query("type") String type, @Query("phone") String phone, @Query("otype") int pwd);


    /**
     * 会员注册http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=reg&json={""}
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> registAcc(@Query("type") String type, @Query("json") String json);


    /**
     * 会员修改密码http://111.231.140.198:8081/WsAPP/MemberHandler.ashx?type=changepwd&mid=100001&newpwd=123456
     */
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> resettingPsw(@Query("type") String type, @Query("mid") int mid, @Query("newpwd") String newpwd);

    // 修改密码
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> updatePwd(@Query("type") String type, @Query("id") String id, @Query("newpwd") String newpwd);

    // 会员忘记密码
    @GET("WsAPP/MemberHandler.ashx")
    Observable<ReturnMsg> forgetPwd(@Query("type") String type, @Query("phone") String phone, @Query("newpwd") String newpwd);

    // 忘记密码
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> forgetSupplierPwd(@Query("type") String type, @Query("phone") String phone, @Query("newpwd") String newpwd);


    /**
     * 检测机构管理员登录
     *
     * @param type
     * @param phone
     * @param pwd
     * @return
     */
    @GET("WsAPP/SupplierHandler.ashx")
    Observable<ReturnMsg> supplierLogin(@Query("type") String type, @Query("phone") String phone, @Query("pwd") String pwd);
}

































